#ifndef __IBASICMODULE_H__
#define __IBASICMODULE_H__

#include "CTypes.h"

typedef enum ENUM_Module_Types
{
    MODULE_TYPE_NOT_DEFINED    = 0,
    MODULE_TYPE_SERVICE         = 1,
    MODULE_TYPE_NORMAL         = 2,
} ENUM_Module_Types;

class IBasicModule
{
public:
    IBasicModule()              {}
    virtual ~IBasicModule()    {}
/*
    virtual stringc GetName()   = 0;
    virtual u32 GetVersion1()   = 0;
    virtual u32 GetVersion2()   = 0;
    virtual u32 GetVersion3()   = 0;
*/
};

typedef IBasicModule *(*GetNewClassFuncType)(void);
typedef IBasicModule *(*GetClassFuncType)(void);
typedef bool (*DestroyClassFuncType)(void);

#endif
